#include <iostream>

#include "observer.h"
#include "subject.h"


int main()
{
    std::string a("A");
    std::shared_ptr<Observer> obv(new ObserverA);
    std::shared_ptr<Subject> sub_a(new SubjectA);
    std::shared_ptr<Subject> sub_b(new SubjectB);

    sub_a->Attach(obv);
    sub_a->SetStatus(a);
    sub_a->Notify();
    sub_a->Detach(obv);

    return 0;
}

